Package-level declarations
Types
Link copied to clipboard
Link copied to clipboard
data class AuthRefreshPolicy(val refreshOnStatusCodes: Set<Int> = setOf(401), val maxRefreshAttempts: Int = 1)
Link copied to clipboard
interface BearerTokenProvider
Link copied to clipboard
data class DownloadedContent(val bytes: ByteArray, val statusCode: Int, val headers: Headers, val contentLength: Long?, val contentType: ContentType?)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T, E> HttpClient.deleteAuthenticatedNetworkResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T> HttpClient.deleteAuthenticatedResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.deleteNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.deleteNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.deleteResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
suspend fun HttpClient.downloadBytes(urlString: String, bufferSize: Int = DEFAULT_DOWNLOAD_BUFFER_SIZE, block: HttpRequestBuilder.() -> Unit = {}, onProgress: suspend (DownloadProgress) -> Unit = {}): DownloadResult
Link copied to clipboard
Link copied to clipboard
inline fun <T, E, R> NetworkResult<T, E>.fold(onSuccess: (NetworkResult.Success<T>) -> R, onHttpError: (NetworkResult.HttpError<E>) -> R, onResponseDecodingError: (NetworkResult.ResponseDecodingError) -> R, onRequestError: (NetworkResult.RequestError) -> R): R
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T, E> HttpClient.getAuthenticatedNetworkResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T> HttpClient.getAuthenticatedResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.getNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.getNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.getResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T, E> HttpClient.headNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.headNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.headResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
Link copied to clipboard
inline fun <T, E> NetworkResult<T, E>.onError(action: (NetworkResult<T, E>) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> NetworkResult<T, E>.onErrorSuspend(crossinline action: suspend (NetworkResult<T, E>) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline fun <T, E> NetworkResult<T, E>.onFailure(action: (NetworkResult<T, E>) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> NetworkResult<T, E>.onFailureSuspend(crossinline action: suspend (NetworkResult<T, E>) -> Unit): NetworkResult<T, E>
inline suspend fun <T> Result<T>.onFailureSuspend(crossinline action: suspend (exception: Throwable) -> Unit): Result<T>
Executes a suspend function action if the current result is a failure.
Link copied to clipboard
inline fun <T, E> NetworkResult<T, E>.onHttpError(action: (NetworkResult.HttpError<E>) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> NetworkResult<T, E>.onHttpErrorSuspend(crossinline action: suspend (NetworkResult.HttpError<E>) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline fun <T, E> NetworkResult<T, E>.onRequestError(action: (NetworkResult.RequestError) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> NetworkResult<T, E>.onRequestErrorSuspend(crossinline action: suspend (NetworkResult.RequestError) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline fun <T, E> NetworkResult<T, E>.onResponseDecodingError(action: (NetworkResult.ResponseDecodingError) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> NetworkResult<T, E>.onResponseDecodingErrorSuspend(crossinline action: suspend (NetworkResult.ResponseDecodingError) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline fun <T, E> NetworkResult<T, E>.onSuccess(action: (NetworkResult.Success<T>) -> Unit): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> NetworkResult<T, E>.onSuccessSuspend(crossinline action: suspend (NetworkResult.Success<T>) -> Unit): NetworkResult<T, E>
inline suspend fun <T> Result<T>.onSuccessSuspend(crossinline action: suspend (value: T) -> Unit): Result<T>
Executes a suspend function action if the current result is a success.
Link copied to clipboard
inline suspend fun <T, E> HttpClient.optionsNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.optionsNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.optionsResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.patchNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.patchNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.patchResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.postAuthenticatedNetworkResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T> HttpClient.postAuthenticatedResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.postNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.postNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.postResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.putAuthenticatedNetworkResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T> HttpClient.putAuthenticatedResult(urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.putNetworkResult(urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.putNetworkResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.putResultWithRetry(urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T, E> HttpClient.requestAuthenticatedNetworkResult(method: HttpMethod, urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T> HttpClient.requestAuthenticatedResult(method: HttpMethod, urlString: String, tokenProvider: BearerTokenProvider, authRefreshPolicy: AuthRefreshPolicy = AuthRefreshPolicy(), noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.requestNetworkResult(method: HttpMethod, urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T, E> HttpClient.requestNetworkResultWithRetry(method: HttpMethod, urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}, noinline decodeErrorBody: suspend (String) -> E? = { null }): NetworkResult<T, E>
Link copied to clipboard
inline suspend fun <T> HttpClient.requestRawNetworkResult(method: HttpMethod, urlString: String, noinline block: HttpRequestBuilder.() -> Unit = {}): NetworkResult<T, Nothing>
Link copied to clipboard
Link copied to clipboard
inline suspend fun <T> HttpClient.requestResultWithRetry(method: HttpMethod, urlString: String, retryPolicy: RetryPolicy = RetryPolicy(), timeout: Duration? = null, noinline block: HttpRequestBuilder.() -> Unit = {}): Result<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard